In [1]:
%pylab inline
from ipywidgets import *
Populating the interactive namespace from numpy and matplotlib

Relativisztikus ikerparadoxon

In [2]:
def acc(a):
    
    def fx(tau):
        return 1/a*(cosh(a*tau)-1)
    def ft(tau):
        return 1/a*sinh(a*tau)
    def fv(tau):
        return tanh(a*tau)
    def fe(t,tau):
        return a*t/sqrt(a**2*(t)**2+1)*sinh(a*tau)/a
    def fx2 (t,tau):
        return sqrt(a**2*(t)**2+1)/(a*t)*sinh(a*tau)/a
    
    tau1=linspace(0,arccosh(a*5+1)/a,50)
    tau2=linspace(-arccosh(a*5+1)/a,0,50)

    figsize(20,10)
    subplot(1,2,1)
    #Vmax 
    text(7,4*ft(arccosh(a*5+1)/a)*5/6,r'$V(\tau)_{max}=$ %f c' %tanh(arccosh(a*5+1)),fontsize=20, bbox=dict( alpha=0.5))
    #Világvonalak
    plot(fx(tau1),ft(tau1),color='red')
    plot(-fx(tau2)+10,ft(tau2)+2*ft(arccosh(a*5+1)/a),color='red')
    plot(-fx(tau1)+10,ft(tau1)+2*ft(arccosh(a*5+1)/a),color='red')
    plot(fx(tau2),ft(tau2)+4*ft(arccosh(a*5+1)/a),label='Utazó világvonala',color='red')
    plot(ft(tau1)-ft(tau1),4*ft(tau1),label='Földi világvonal', color='blue')
    
    legend(loc='upper right',fontsize=20)
   #1
    #45-fokos egyenes
    x1=[ft(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a/2)+ft(arccosh(a*5+1)/a)/8]
    y1=[fx(arccosh(a*5+1)/a/2), ft(arccosh(a*5+1)/a)/8+fx(arccosh(a*5+1)/a/2)]
    plot(y1,x1,color='orange')
    #lokális koord.
    arrow(fx(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a/2),fe(arccosh(a*5+1)/a/2,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(fx(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a)/8,ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x8=[ft(arccosh(a*5+1)/a/2)-fx(arccosh(a*5+1)/a/2)*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1),ft(arccosh(a*5+1)/a/2)]
    y8=[0,fx(arccosh(a*5+1)/a/2)]
    plot(y8,x8,color='green') 
   #2 
    #45-fokos egyenes
    x2=[ft(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a)/8]
    y2=[5, ft(arccosh(a*5+1)/a)/8+5]
    plot(y2,x2,color='orange')
    #lokális koord.
    arrow(fx(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a),fe(arccosh(a*5+1)/a,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(fx(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a)/8,ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a)/sqrt(a**2*ft(arccosh(a*5+1)/a)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x9=[ft(arccosh(a*5+1)/a)-fx(arccosh(a*5+1)/a)*a*ft(arccosh(a*5+1)/a)/sqrt(a**2*ft(arccosh(a*5+1)/a)**2+1),ft(arccosh(a*5+1)/a)]
    y9=[0,fx(arccosh(a*5+1)/a)]
    plot(y9,x9,color='green')
   #3
    #45-fokos egyenes
    x3=[2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)+ft(arccosh(a*5+1)/a)/8]
    y3=[10-fx((arccosh(a*5+1)/a)/2), ft(arccosh(a*5+1)/a)/8+10-fx((arccosh(a*5+1)/a)/2)]
    plot(y3,x3,color='orange')
    #lokális koord.
    arrow(10-fx(arccosh(a*5+1)/a/2),2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),fe(arccosh(a*5+1)/a/2,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(10-fx(arccosh(a*5+1)/a/2),2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a)/8,ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x10=[2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)-(10-fx(arccosh(a*5+1)/a/2))*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1),2*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)]
    y10=[0,10-fx(arccosh(a*5+1)/a/2)]
    plot(y10,x10,color='green')
   #4
    #45-fokos egyenes
    x4=[2*ft(arccosh(a*5+1)/a),2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a)/8]
    y4=[10, ft(arccosh(a*5+1)/a)/8+10]
    plot(y4,x4,color='orange')
    #lokális koord.
    arrow(10,2*ft(arccosh(a*5+1)/a),fe(0,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(10,2*ft(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a)/8,ft(arccosh(a*5+1)/a)/8*a*ft(0)/sqrt(a**2*ft(0)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x11=[2*ft(arccosh(a*5+1)/a),2*ft(arccosh(a*5+1)/a)]
    y11=[0,10]
    plot(y11,x11,color='green') 
   #5
    #45-fokos egyenes 
    x5=[ft(arccosh(a*5+1)/a/2)+2*ft(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a/2)+2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a)/8]
    y5=[10-fx(arccosh(a*5+1)/a/2), ft(arccosh(a*5+1)/a)/8+10-fx(arccosh(a*5+1)/a/2)]
    plot(y5,x5,color='orange')
    #lokális koord.
    arrow(10-fx(arccosh(a*5+1)/a/2),2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a/2),-fe(arccosh(a*5+1)/a/2,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(10-fx(arccosh(a*5+1)/a/2),2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a)/8,-ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x12=[2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a/2)+(10-fx(arccosh(a*5+1)/a/2))*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1),2*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a/2)]
    y12=[0,10-fx(arccosh(a*5+1)/a/2)]
    plot(y12,x12,color='green')
   #6
    #45-fokos egyenes  
    x6=[3*ft(arccosh(a*5+1)/a),3*ft(arccosh(a*5+1)/a)+ft(arccosh(a*5+1)/a)/8]
    y6=[5, ft(arccosh(a*5+1)/a)/8+5]
    plot(y6,x6,color='orange')
    #lokális koord.
    arrow(fx(arccosh(a*5+1)/a),3*ft(arccosh(a*5+1)/a),-fe(arccosh(a*5+1)/a,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(fx(arccosh(a*5+1)/a),3*ft(arccosh(a*5+1)/a),ft(arccosh(a*5+1)/a)/8,-ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a)/sqrt(a**2*ft(arccosh(a*5+1)/a)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x13=[3*ft(arccosh(a*5+1)/a)+fx(arccosh(a*5+1)/a)*a*ft(arccosh(a*5+1)/a)/sqrt(a**2*ft(arccosh(a*5+1)/a)**2+1),3*ft(arccosh(a*5+1)/a)]
    y13=[0,fx(arccosh(a*5+1)/a)]
    plot(y13,x13,color='green')
   #7
    #45-fokos egyenes  
    x7=[4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)+ft(arccosh(a*5+1)/a)/8]
    y7=[fx(arccosh(a*5+1)/a/2), ft(arccosh(a*5+1)/a)/8+fx(arccosh(a*5+1)/a/2)]
    plot(y7,x7,color='orange')
    #lokális koord.
    arrow(fx(arccosh(a*5+1)/a/2),4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),-fe(arccosh(a*5+1)/a/2,arccosh(a*5+1)/a/6),ft(arccosh(a*5+1)/a/6), head_width=0.25, head_length=0.5, fc='k', ec='k')
    arrow(fx(arccosh(a*5+1)/a/2),4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2),ft(arccosh(a*5+1)/a)/8,-ft(arccosh(a*5+1)/a)/8*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1), head_width=0.25, head_length=0.5, fc='k', ec='k')
    #esemény
    x14=[4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)+fx(arccosh(a*5+1)/a/2)*a*ft(arccosh(a*5+1)/a/2)/sqrt(a**2*ft(arccosh(a*5+1)/a/2)**2+1),4*ft(arccosh(a*5+1)/a)-ft(arccosh(a*5+1)/a/2)]
    y14=[0,fx(arccosh(a*5+1)/a/2)]
    plot(y14,x14,color='green')
    
    xlim(-2,15)
   
    xlabel(r'$x(\tau)$',fontsize=20)
    ylabel(r'$t(\tau)$',fontsize=20)
    
    subplot(1,2,2)
    
    plot(ft(tau1),ft(tau1)-fx(tau1)*a*ft(tau1)/sqrt(a**2*ft(tau1)**2+1),color='blue')
    plot(-ft(tau1)+2*ft(arccosh(a*5+1)/a),2*ft(arccosh(a*5+1)/a)-ft(tau1)-(10-fx(tau1))*a*ft(tau1)/sqrt(a**2*ft(tau1)**2+1),color='blue')
    plot(ft(tau1)+2*ft(arccosh(a*5+1)/a),2*ft(arccosh(a*5+1)/a)+ft(tau1)+(10-fx(tau1))*a*ft(tau1)/sqrt(a**2*ft(tau1)**2+1),color='blue')
    plot(-ft(tau1)+4*ft(arccosh(a*5+1)/a),4*ft(arccosh(a*5+1)/a)-ft(tau1)+fx(tau1)*a*ft(tau1)/sqrt(a**2*ft(tau1)**2+1),color='blue')
  
    xlabel(r'U [$t(\tau)$]',fontsize=20)
    ylabel(r'F [$t(\tau)$]',fontsize=20)
    plot(4*ft(tau1),4*ft(tau1),color='skyblue',linestyle='--')
In [3]:
interact(acc,a=(0.01,0.51,0.05))
print(r"U: Az utazás adott pillanatával az utazó szerint egyidejű események észleléséig az indulás óta eltelt idő.")
print(r"F: A fent említett események észlelésének pillanatáig az indulás óta eltelt idő a Földön.")
  
U: Az utazás adott pillanatával az utazó szerint egyidejű események észleléséig az indulás óta eltelt idő.
F: A fent említett események észlelésének pillanatáig az indulás óta eltelt idő a Földön.